# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Sonic the Hedgehog 1 Template

game: Sonic the Hedgehog 1
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.

Sonic the Hedgehog 1:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  starting_zone:
    # Specifies which zone keys are given for free
    ['Random']

  no_local_keys:
    # Restrict local placement rules to force this world's keys to be placed in other worlds.
    'false': 50
    'true': 0

  allow_disable_goal:
    # Enable the buff item that disables Special stage GOAL blocks.
    'false': 0
    'true': 50

  allow_disable_r:
    # Enable the buff item that disables Special stage R blocks.
    'false': 0
    'true': 50

  send_death:
    # Enable this to send DeathLink
    'false': 50
    'true': 0

  recv_death:
    # Enable this to receive DeathLink
    'false': 50
    'true': 0

  ################
  # Ring Options #
  ################
  available_rings:
    # Dr Eggman attacked, how many rings fell into the pool for you to recover?  Will cap Ring Goal.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 150
    150: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-150: 0 # random value between 0 and 150

  hard_mode:
    # Hard Mode: The ROM's ring count will remain zero and Sonic still only drops 6 rings.  Doesn't interact with Ring Goal or Available Rings.
    'false': 50
    'true': 0

  boring_filler:
    # Enable to take the fun out of the junk filler items
    'false': 50
    'true': 0

  ####################
  # Power-up options #
  ####################
  pow_invinc:
    # Trigger Invincibility power-up
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 16
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-16: 0 # random value between 0 and 16

  pow_shield:
    # Trigger Shield power-up
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 16
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-16: 0 # random value between 0 and 16

  pow_speeds:
    # Trigger Speed Shoes power-up
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 16
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-16: 0 # random value between 0 and 16

  pow_ss_trap_flag:
    # Do you consider Speed Shoes a trap?
    'false': 0
    'true': 50

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []

  ######################
  # Victory conditions #
  ######################
  emerald_goal:
    # Changes the number of emeralds that need to be collected for you to clear.  Not order specific.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 6
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-6: 0 # random value between 0 and 6

  boss_goal:
    # Changes the number of bosses that need to be beaten for you to clear.  Not order specific.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 6
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-6: 0 # random value between 0 and 6

  specials_goal:
    # Changes the number of Special Stages that need to be beaten for you to clear.  Order specific.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 6
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-6: 0 # random value between 0 and 6

  ring_goal:
    # Changes the number of rings that need to be found for you to clear.  Isn't affected by Hard Mode, is overriden by Available Rings.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 150
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-150: 0 # random value between 0 and 150
    easy: 0 # equivalent to 50
    normal: 50 # equivalent to 100
    hard: 0 # equivalent to 150

  final_zone_last:
    # Control when Final Zone can unlock, wait until all other victory conditions are met?
    # 
    # - **Anytime:** You can do Final Zone as soon as you have the key.
    # - **Last But Optional:** If your victory conditions can be achieved without beating Final Zone you skip it.
    # - **Always Last:** Final Zone unlocks once you have every other victory condition, beat it to win.
    # 
    # Note that this may change how certain mechanics behave:
    # 
    # - "Always Last" essentially forces the boss goal to be at least 1, "Last But Optional" will not.
    # - Both "Always Last" and "Last But Optional" will add the Final Zone key to your starting inventory.
    # - "Always Last" and "Last But Optional" are identical with 6 bosses.
    # - An example of less than 6: "Always Last" with 3 bosses will require any 2 of the Act 3 bosses then FZ, "Last But Optional" requires any 2 of the Act 3 bosses then either FZ or a third Act 3 boss.
    anytime: 50
    last_but_optional: 0
    always_last: 0
